package com.ebt.m.cloud.downloader.callback;

import com.ebt.m.cloud.downloader.db.DownloadDBController;
import com.ebt.m.cloud.downloader.domain.DownloadInfo;

import java.util.List;


/**
 *
 */

public interface DownloadManager {

    void download(DownloadInfo downloadInfo);

    void pause(DownloadInfo downloadInfo);

    void resume(DownloadInfo downloadInfo);

    void remove(DownloadInfo downloadInfo);

    void onDestroy();

    DownloadInfo getDownloadById(int id);

    DownloadInfo getDownloadBySourceId(int id);

    List<DownloadInfo> findAllDownloading();

    List<DownloadInfo> findAllDownloaded();

    DownloadDBController getDownloadDBController();

}
